package nfwx.analytics;

/**
 * 采集参数：设备信息
 */

public class GrabDeviceInfo extends GrabObject {
    public final GrabString model; //机型
    public final GrabNumber cpu; //CPU核心数
    public final GrabNumber cpuHZ; //CPU 频率单位G,例如1.3G
    public final GrabNumber screenWidth; //屏幕宽度
    public final GrabNumber screenHeight; //屏幕高度
    public final GrabNumber density; //屏幕密度, 单位为dpi, 例如300dpi
    public final GrabNumber fontScale; //字体缩放比例, 例如1.0 为普通大小
    public final GrabNumber diskFree; //磁盘剩余大小, 单位GB, 如 2.1
    public final GrabNumber diskSize; //磁盘空间大小, 单位GB, 如 16.0
    public final GrabNumber memSize; //内存大小, 单位MB, 如 2048
    public final GrabNumber extCardSize; //外置卡大小, 单位GB
    public final GrabNumber extCardFree; //外置卡空闲大小, 单位GB
    public final GrabBoolean eth; //是否有以太网口
    public final GrabBoolean cell; //是否具有移动数据
    public final GrabBoolean wifi; //是否具有WiFi
    public final GrabString os; //操作系统类型, (android/ios/win/mac/linux)
    public final GrabString osv; //操作系统版本
    public final GrabString lang; //操作系统语言的ISO语言码,
    public final GrabArray videoCodecs; //视频编码器名
    public final GrabArray audioCodecs; //音频编码器名

    GrabDeviceInfo()
    {
        super(false);
        model = (GrabString)defineProperty("model", new GrabString(false));
        cpu = (GrabNumber) defineProperty("cpu", new GrabNumber(false));
        cpuHZ = (GrabNumber) defineProperty("cpuHZ", new GrabNumber(false));
        screenWidth = (GrabNumber) defineProperty("screenWidth", new GrabNumber(false));
        screenHeight = (GrabNumber) defineProperty("screenHeight", new GrabNumber(false));
        density = (GrabNumber) defineProperty("density", new GrabNumber(false));
        fontScale = (GrabNumber) defineProperty("fontScale", new GrabNumber(false));
        diskFree = (GrabNumber) defineProperty("diskFree", new GrabNumber(false));
        diskSize = (GrabNumber) defineProperty("diskSize", new GrabNumber(false));
        memSize = (GrabNumber) defineProperty("memSize", new GrabNumber(false));
        extCardSize = (GrabNumber) defineProperty("extCardSize", new GrabNumber(false));
        extCardFree = (GrabNumber) defineProperty("extCardFree", new GrabNumber(false));
        eth = (GrabBoolean) defineProperty("eth", new GrabBoolean(false));
        cell = (GrabBoolean) defineProperty("cell", new GrabBoolean(false));
        wifi = (GrabBoolean) defineProperty("wifi", new GrabBoolean(false));
        os = (GrabString) defineProperty("os", new GrabString(false));
        osv = (GrabString) defineProperty("osv", new GrabString(false));
        lang = (GrabString) defineProperty("lang", new GrabString(false));
        videoCodecs = (GrabArray)defineProperty("videoCodecs", new GrabArray(false));
        audioCodecs = (GrabArray)defineProperty("audioCodecs", new GrabArray(false));
    }
}
